package com.boc.ewr.business.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: A3类账户明细
 * @Author: jeecg-boot
 * @Date:   2023-05-26
 * @Version: V1.0
 */
@Data
@TableName("acct_dtl_class_a3")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="acct_dtl_class_a3对象", description="A3类账户明细")
public class AcctDtlClassA3 implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**二级行号*/
	@Excel(name = "二级行号", width = 15)
    @ApiModelProperty(value = "二级行号")
    private String parentBranchNo;
	/**二级行名称*/
	@Excel(name = "二级行名称", width = 15)
    @ApiModelProperty(value = "二级行名称")
    private String parentBranchNm;
	/**机构号*/
	@Excel(name = "机构号", width = 15)
    @ApiModelProperty(value = "机构号")
    private String branchNo;
	/**机构名称*/
	@Excel(name = "机构名称", width = 15)
    @ApiModelProperty(value = "机构名称")
    private String branchNm;
	/**账户*/
	@Excel(name = "账户", width = 15)
    @ApiModelProperty(value = "账户")
    private String accNo;
	/**主账户*/
	@Excel(name = "主账户", width = 15)
    @ApiModelProperty(value = "主账户")
    private String mainAccNo;
	/**客户号*/
	@Excel(name = "客户号", width = 15)
    @ApiModelProperty(value = "客户号")
    private String cusmNo;
	/**客户名称*/
	@Excel(name = "客户名称", width = 15)
    @ApiModelProperty(value = "客户名称")
    private String cusmNm;
	/**账单号*/
	@Excel(name = "账单号", width = 15)
    @ApiModelProperty(value = "账单号")
    private String caNo;
	/**协议号*/
	@Excel(name = "协议号", width = 15)
    @ApiModelProperty(value = "协议号")
    private String protocolNo;
	/**协议性质*/
	@Excel(name = "协议性质", width = 15, dicCode = "protocol_type")
	@Dict(dicCode = "protocol_type")
    @ApiModelProperty(value = "协议性质")
    private String protocolType;
	/**本期余额*/
	@Excel(name = "本期余额", width = 15)
    @ApiModelProperty(value = "本期余额")
    private String currBal;
	/**对账期号*/
	@Excel(name = "对账期号", width = 15)
    @ApiModelProperty(value = "对账期号")
    private String caPeriodNo;
	/**币种*/
	@Excel(name = "币种", width = 15)
    @ApiModelProperty(value = "币种")
    private String currencyName;
	/**时点余额*/
	@Excel(name = "时点余额", width = 15)
    @ApiModelProperty(value = "时点余额")
    private String balance;
	/**年日均余额*/
	@Excel(name = "年日均余额", width = 15)
    @ApiModelProperty(value = "年日均余额")
    private String yearDayavgBal;
	/**开户日期*/
	@Excel(name = "开户日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开户日期")
    private Date oacctDate;
	/**账户状态*/
	@Excel(name = "账户状态", width = 15, dicCode = "bus_acct_status")
	@Dict(dicCode = "bus_acct_status")
    @ApiModelProperty(value = "账户状态")
    private String acctSta;
	/**账户性质*/
	@Excel(name = "账户性质", width = 15)
    @ApiModelProperty(value = "账户性质")
    private String actType;
	/**是否为中行贷款客户*/
	@Excel(name = "是否为中行贷款客户", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否为中行贷款客户")
    private String isBocLoanCusm;
	/**是否为对公网银客户*/
	@Excel(name = "是否为对公网银客户", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否为对公网银客户")
    private String isBusEbkCusm;
	/**是否为手机银行客户*/
	@Excel(name = "是否为手机银行客户", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否为手机银行客户")
    private String isMobBkCusm;
	/**贷款总额*/
	@Excel(name = "贷款总额", width = 15)
    @ApiModelProperty(value = "贷款总额")
    private String loanTotal;
	/**前13个月金融交易总笔数*/
	@Excel(name = "前13个月金融交易总笔数", width = 15)
    @ApiModelProperty(value = "前13个月金融交易总笔数")
    private String lastThtnMonsTrans;
	/**前13个月金融交易借方发生额*/
	@Excel(name = "前13个月金融交易借方发生额", width = 15)
    @ApiModelProperty(value = "前13个月金融交易借方发生额")
    private String lastThtnMonsBrwrTt;
	/**前13个月金融交易贷方发生额*/
	@Excel(name = "前13个月金融交易贷方发生额", width = 15)
    @ApiModelProperty(value = "前13个月金融交易贷方发生额")
    private String lastThtnMonsLaonTt;
	/**近3个月交易总笔数*/
	@Excel(name = "近3个月交易总笔数", width = 15)
    @ApiModelProperty(value = "近3个月交易总笔数")
    private String lastThMonsTrans;
	/**当月金融交易总笔数*/
	@Excel(name = "当月金融交易总笔数", width = 15)
    @ApiModelProperty(value = "当月金融交易总笔数")
    private String monFinaceTrans;
	/**当月单笔最大交易额*/
	@Excel(name = "当月单笔最大交易额", width = 15)
    @ApiModelProperty(value = "当月单笔最大交易额")
    private String monSnglBigNum;
	/**当月单笔最大交易额经办柜员*/
	@Excel(name = "当月单笔最大交易额经办柜员", width = 15)
    @ApiModelProperty(value = "当月单笔最大交易额经办柜员")
    private String monBigNumTlr;
	/**法定代表人*/
	@Excel(name = "法定代表人", width = 15)
    @ApiModelProperty(value = "法定代表人")
    private String lglRpstNm;
	/**法定代表人证件号码*/
	@Excel(name = "法定代表人证件号码", width = 15)
    @ApiModelProperty(value = "法定代表人证件号码")
    private String lglRpstId;
	/**法定代表人客户号*/
	@Excel(name = "法定代表人客户号", width = 15)
    @ApiModelProperty(value = "法定代表人客户号")
    private String lglRpstCusmNum;
	/**法人住宅电话*/
	@Excel(name = "法人住宅电话", width = 15)
    @ApiModelProperty(value = "法人住宅电话")
    private String lglRpstTel;
	/**法人移动电话*/
	@Excel(name = "法人移动电话", width = 15)
    @ApiModelProperty(value = "法人移动电话")
    private String lglRpstMob;
	/**法人单位电话*/
	@Excel(name = "法人单位电话", width = 15)
    @ApiModelProperty(value = "法人单位电话")
    private String lglRpstBusTel;
	/**法人金融资产*/
	@Excel(name = "法人金融资产", width = 15)
    @ApiModelProperty(value = "法人金融资产")
    private String lglRpstFinaceAll;
	/**法人贷款余额*/
	@Excel(name = "法人贷款余额", width = 15)
    @ApiModelProperty(value = "法人贷款余额")
    private String lglRpstLoanLast;
	/**财务负责人*/
	@Excel(name = "财务负责人", width = 15)
    @ApiModelProperty(value = "财务负责人")
    private String finacePrincipalNm;
	/**财务负责人证件号码*/
	@Excel(name = "财务负责人证件号码", width = 15)
    @ApiModelProperty(value = "财务负责人证件号码")
    private String finacePrincipalId;
	/**财务负责人客户号*/
	@Excel(name = "财务负责人客户号", width = 15)
    @ApiModelProperty(value = "财务负责人客户号")
    private String finacePrincipalCusmNo;
	/**财务负责人住宅电话*/
	@Excel(name = "财务负责人住宅电话", width = 15)
    @ApiModelProperty(value = "财务负责人住宅电话")
    private String finacePrincipalTel;
	/**财务负责人移动电话*/
	@Excel(name = "财务负责人移动电话", width = 15)
    @ApiModelProperty(value = "财务负责人移动电话")
    private String finacePrincipalMob;
	/**财务财务负责人单位电话*/
	@Excel(name = "财务财务负责人单位电话", width = 15)
    @ApiModelProperty(value = "财务财务负责人单位电话")
    private String finacePrincipalBusTel;
	/**财务财务负责人金融资产*/
	@Excel(name = "财务财务负责人金融资产", width = 15)
    @ApiModelProperty(value = "财务财务负责人金融资产")
    private String finacePrincipalFinaceAll;
	/**财务财务负责人贷款余额*/
	@Excel(name = "财务财务负责人贷款余额", width = 15)
    @ApiModelProperty(value = "财务财务负责人贷款余额")
    private String finacePrincipalLoanLast;
	/**注册地址*/
	@Excel(name = "注册地址", width = 15)
    @ApiModelProperty(value = "注册地址")
    private String signAddr;
	/**办公地址*/
	@Excel(name = "办公地址", width = 15)
    @ApiModelProperty(value = "办公地址")
    private String workAddr;
	/**冻结日期*/
	@Excel(name = "冻结日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "冻结日期")
    private Date frzDate;
	/**冻结到期日*/
	@Excel(name = "冻结到期日", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "冻结到期日")
    private Date frzSropDate;
	/**冻结原因*/
	@Excel(name = "冻结原因", width = 15, dicCode = "frz_reason")
	@Dict(dicCode = "frz_reason")
    @ApiModelProperty(value = "冻结原因")
    private String frzReason;
	/**反洗钱系统风险等级*/
	@Excel(name = "反洗钱系统风险等级", width = 15, dicCode = "aml_sys_rsk_class")
	@Dict(dicCode = "aml_sys_rsk_class")
    @ApiModelProperty(value = "反洗钱系统风险等级")
    private String amlSysRskClass;
	/**反馈状态*/
	@Excel(name = "反馈状态", width = 15, dicCode = "fdbk_status")
	@Dict(dicCode = "fdbk_status")
    @ApiModelProperty(value = "反馈状态")
    private String fdbkStatus;
	/**是否对账*/
	@Excel(name = "是否对账", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否对账")
    private String isCa;
	/**是否完成上门对账*/
	@Excel(name = "是否完成上门对账", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否完成上门对账")
    private String isDtdcaFin;
	/**未对帐原因*/
	@Excel(name = "未对帐原因", width = 15, dicCode = "unca_reason")
	@Dict(dicCode = "unca_reason")
    @ApiModelProperty(value = "未对帐原因")
    private String unfinReason;
	/**其他未对帐原因*/
	@Excel(name = "其他未对帐原因", width = 15)
    @ApiModelProperty(value = "其他未对帐原因")
    private String otherReason;
	/**处理状态*/
	@Excel(name = "处理状态", width = 15, dicCode = "business_status")
	@Dict(dicCode = "business_status")
    @ApiModelProperty(value = "处理状态")
    private String status;
	/**风险排查人*/
	@Excel(name = "风险排查人", width = 15)
    @ApiModelProperty(value = "风险排查人")
    private String riskCheckPsn;
	/**风险排查人联系电话*/
	@Excel(name = "风险排查人联系电话", width = 15)
    @ApiModelProperty(value = "风险排查人联系电话")
    private String riskCheckMob;
	/**风险排查时间*/
	@Excel(name = "风险排查时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "风险排查时间")
    private Date riskCheckTime;
	/**审核人*/
	@Excel(name = "审核人", width = 15)
    @ApiModelProperty(value = "审核人")
    private String checkPsn;
	/**审核时间*/
	@Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "审核时间")
    private Date checkTime;
	/**省行审核备注*/
	@Excel(name = "省行审核备注", width = 15)
    @ApiModelProperty(value = "省行审核备注")
    private String checkRemark;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**对账年月*/
	@Excel(name = "对账年月", width = 15)
	@ApiModelProperty(value = "对账年月")
	private java.lang.String caMon;
	/**是否逾期反馈*/
	@Excel(name = "是否逾期反馈", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
	@ApiModelProperty(value = "是否逾期反馈")
	private String isDelinquent;
	/**附件*/
	@Excel(name = "附件", width = 15)
	@ApiModelProperty(value = "附件")
	private String appendFile;
}
